﻿#ifndef IMAGEPROCESSOR_H
#define IMAGEPROCESSOR_H

#include <QObject>
#include <QImage>
#include "openclmanager.h"

class ImageProcessor : public QObject
{
    Q_OBJECT
public:
    explicit ImageProcessor(OpenCLManager *oclManager, QObject *parent = nullptr);

    QImage processImage(const QImage &input);

private:
    OpenCLManager *m_oclManager;
    cl::Program m_program;
    bool m_initialized = false;

    bool initializeProgram();
};

#endif // IMAGEPROCESSOR_H
